home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #3 / Amiga Plus CD - 2002 - No. 03.iso / AmigaPlus / Tools / Development / envCPP31 / install-vbcc < prev    next >
Encoding:
Text File  |  2002-01-01  |  6.3 KB  |  313 lines

  1. (complete 0)
  2.  
  3. (onerror
  4.  
  5.     (if (> @ioerr 0)
  6.  
  7.         (
  8.             (message "An error has occurred !")
  9.         )
  10.     )
  11. )
  12.  
  13. ; initialize strings
  14.  
  15. (if (= @language "deutsch")
  16.  
  17.     (
  18.         (set #vbcc_missing      "Kann die Installationsdateien von vbcc nicht finden !")
  19.  
  20.         (set #vbcc_welcome      "Willkommen beim Setup für vbcc !\n\nMit diesem Programm wird die vbcc-Compilerumgebung auf Ihrem Rechner installiert. Versionsstand der Komponenten: vbcc08a")
  21.  
  22.         (set #vbcc_where        "Wo soll vbcc installiert werden (der Ordner vbcc wird erzeugt) ?")
  23.  
  24.         (set #vbcc_createerr    "Kann vbcc-Ordner nicht erzeugen !")
  25.  
  26.         (set #vbcc_startup      "Assigns für vbcc einrichten ?")
  27.  
  28.         (set #vbcc_required     "vbcc kann ohne die Assigns nicht benutzt werden !")
  29.  
  30.         (set #vbcc_osincludes   "Wo befinden sich die AmigaOS-Header-Dateien ?")
  31.  
  32.         (set #vbcc_osndk        "Die AmigaOS-Header sind Bestandteil des NDK (Native Development Toolkit) von Amiga Inc. Sie werden nicht mit vbcc ausgeliefert. Diese Dateien werden für die Entwicklung von Amiga-Anwendungen zwingend benötigt.")
  33.     )
  34.  
  35.     ; ELSE
  36.  
  37.     (
  38.         (set #vbcc_missing      "Can not find installation file of vbcc !")
  39.  
  40.         (set #vbcc_welcome      "Welcome to the setup of vbcc !\n\nThis program installs the vbcc compiler system on your computer. Versions of included components: vbcc08a")
  41.  
  42.         (set #vbcc_where        "Where do you want to install vbcc (the folder vbcc is created) ?")
  43.  
  44.         (set #vbcc_createerr    "Can not create vbcc folder !")
  45.  
  46.         (set #vbcc_startup      "Create assigns for vbcc ?")
  47.  
  48.         (set #vbcc_required     "vbcc can not be used without these assigns !")
  49.  
  50.         (set #vbcc_osincludes   "Were are the AmigaOS header files located on your system ?")
  51.  
  52.         (set #vbcc_osndk        "The AmigaOS headers are part of the NDK (Native Development Toolkit) by Amiga Inc. They are not shipped with vbcc. These files are required for development of AmigaOS software.")
  53.     )
  54. )
  55.  
  56. ; already installed ?
  57.  
  58. (set #vbcc_include "")
  59.  
  60. (if (exists "vbcc:" (NOREQ))
  61.  
  62.     (
  63.         (set @default-dest (pathonly (expandpath "vbcc:")))
  64.  
  65.         (if (exists "vbcc:include")
  66.  
  67.             (set #vbcc_include (expandpath "vbcc:include"))
  68.         )
  69.     )
  70.  
  71.     ; ELSE
  72.  
  73.     (if (exists "work:" (NOREQ))
  74.  
  75.         (set @default-dest "work:")
  76.  
  77.         (set @default-dest "sys:" )
  78.     )
  79. )
  80.  
  81. (message #vbcc_welcome)
  82.  
  83. ; locate vbcc setup files (located in the bonus folder if this installations runs on a GoldED CD)
  84.  
  85. (if (exists "targets")
  86.  
  87.     (set #vbcc_installdata (pathonly (expandpath "")))
  88.  
  89.     ; ELSE 
  90.  
  91.     (if (exists "////bonus/vbcc/vbcc")
  92.  
  93.         (set #vbcc_installdata "////bonus/vbcc/vbcc")
  94.  
  95.         ; ELSE
  96.  
  97.         (
  98.             (message #vbcc_missing)
  99.  
  100.             (exit (quiet))
  101.         )
  102.     )
  103. )
  104.  
  105. ; query installation path
  106.  
  107. (set #vbcc_path
  108.  
  109.     (askdir
  110.  
  111.         (prompt #vbcc_where)
  112.  
  113.         (help @askdir-help)
  114.  
  115.         (default @default-dest)
  116.     )
  117. )
  118.  
  119. (set #vbcc_path (tackon #vbcc_path "vbcc"))
  120.  
  121. (set @default-dest #vbcc_path)
  122.  
  123. ; guess location of os includes
  124.  
  125. (if (= #vbcc_include "")
  126.  
  127.     (
  128.         ; golded and ndk installed ?
  129.  
  130.         (if (exists "golded:" (noreq))
  131.  
  132.             (if (exists "golded:add-ons/c++/ndk_39/include/include_h")
  133.  
  134.                 (set #vbcc_include (expandpath "golded:add-ons/c++/ndk_39/include/include_h"))
  135.             )
  136.         )
  137.  
  138.         (if (= #vbcc_include "")
  139.  
  140.             (
  141.                 ; sas/c installed ?
  142.  
  143.                 (if (exists "sc:" (noreq))
  144.  
  145.                     (if (exists "sc:include")
  146.  
  147.                         (set #vbcc_include (expandpath "sc:include"))
  148.                     )
  149.                 )
  150.  
  151.                 (if (= #vbcc_include "")
  152.  
  153.                     ; dice installed ?
  154.  
  155.                     (if (exists "dinclude:" (noreq))
  156.  
  157.                         (set #vbcc_include (expandpath "dinclude:"))
  158.                     )
  159.                 )
  160.             )
  161.         )
  162.     )
  163. )
  164.  
  165. ; query path to os includes
  166.  
  167. (set #vbcc_include
  168.  
  169.     (askdir
  170.  
  171.         (prompt #vbcc_osincludes)
  172.  
  173.         (help #vbcc_osndk)
  174.  
  175.         (default #vbcc_include)
  176.     )
  177. )
  178.  
  179. ; create folder for vbcc
  180.  
  181. (makedir #vbcc_path)
  182.  
  183. (if (not (exists #vbcc_path))
  184.  
  185.     (
  186.         (message #vbcc_createerr)
  187.  
  188.         (exit (quiet))
  189.     )
  190. )
  191.  
  192. ; install vbcc
  193.  
  194. (copyfiles
  195.  
  196.     (source #vbcc_installdata)
  197.  
  198.     (dest #vbcc_path)
  199.  
  200.     (pattern "~(install#?)")
  201.  
  202.     (infos)
  203. )
  204.  
  205. ; upgrade vbcc
  206.  
  207. (if (exists "////bonus/vbcc/vbcc_08a_aos")
  208.  
  209.     (copyfiles
  210.  
  211.         (source "////bonus/vbcc/vbcc_08a_aos/vbcc")
  212.  
  213.         (dest #vbcc_path)
  214.  
  215.         (all)
  216.  
  217.         (infos)
  218.     )
  219. )
  220.  
  221. (makeassign "vbcc" (expandpath #vbcc_path))
  222.  
  223. ; remove write protection for material copied from CD-ROM
  224.  
  225. (run "programs/unprotect >nil: basedir=vbcc:")
  226.  
  227. ; set script bit for batch files
  228.  
  229. (if (exists "vbcc:init_vbcc")
  230.  
  231.     (run "protect vbcc:init_vbcc rweds")
  232. )
  233.  
  234. (if (exists "vbcc:init_vbcc_new")
  235.  
  236.     (run "protect vbcc:init_vbcc_new rweds")
  237. )
  238.  
  239. ; update user-startup
  240.  
  241. (set #vbcc_assigns
  242.  
  243.     (cat
  244.  
  245.         ("; amigaos 68k\n")
  246.  
  247.         ("assign vbcc: \"%s\"\n" (expandpath #vbcc_path))
  248.  
  249.         ("assign vbccm68k: vbcc:targets/m68k-amigaos defer\n")
  250.  
  251.         ("assign vincludem68k: vbccm68k:include\n")
  252.  
  253.         ("assign vincludem68k: \"%s\" add\n" (expandpath #vbcc_include))
  254.  
  255.         ("assign vlibm68k: vbccm68k:lib defer\n")
  256.  
  257.         ("; ppc (powerup)\n")
  258.  
  259.         ("assign vbccppc: vbcc:targets/ppc-powerup defer\n")
  260.  
  261.         ("assign vincludeppc: vbccppc:include\n")
  262.  
  263.         ("; assign vincludeppc: <path to your header files> add\n")
  264.  
  265.         ("assign vlibppc: vbccppc:lib defer\n")
  266.  
  267.         ("; ppc (warpos)\n")
  268.  
  269.         ("assign vbccwos: vbcc:targets/ppc-warpos defer\n")
  270.  
  271.         ("assign vincludewos: vbccwos:include\n")
  272.  
  273.         ("; assign >NIL: vincludewos: <path to your header files> add\n")
  274.  
  275.         ("assign vlibwos: vbccwos:lib defer\n")
  276.  
  277.         ("; morphos\n")
  278.  
  279.         ("assign vbccmos: vbcc:targets/ppc-morphos defer\n")
  280.  
  281.         ("assign vincludemos: vbccmos:include\n")
  282.  
  283.         ("; assign >NIL: vincludemos: <path to your header files> add\n")
  284.  
  285.         ("assign vlibmos: vbccmos:lib defer\n")
  286.  
  287.         ("assign c: vbcc:bin add\n")
  288.     )
  289. )
  290.  
  291. (startup "VBCC"
  292.  
  293.     (prompt #vbcc_startup)
  294.  
  295.     (help #vbcc_required)
  296.  
  297.     (command #vbcc_assigns)
  298. )
  299.  
  300. ; save assigns to temporay batch file and execute it
  301.  
  302. (textfile (dest "t:vbcc-init") (append  #vbcc_assigns))
  303.  
  304. (execute "t:vbcc-init")
  305.  
  306. (delete  "t:vbcc-init")
  307.  
  308. ; done
  309.  
  310. (exit)
  311.  
  312. (welcome)
  313.